[INFO] fetching crate strcursor 0.2.5...
[INFO] testing strcursor-0.2.5 against try#0abe69e6c16114311cc2700e972492e64d69c28f for pr-154065-1
[INFO] extracting crate strcursor 0.2.5 into /workspace/builds/worker-1-tc2/source
[INFO] started tweaking crates.io crate strcursor 0.2.5
[INFO] finished tweaking crates.io crate strcursor 0.2.5
[INFO] tweaked toml for crates.io crate strcursor 0.2.5 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate strcursor 0.2.5 on toolchain 0abe69e6c16114311cc2700e972492e64d69c28f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 3 packages to latest compatible versions
[INFO] [stderr]       Adding rustc_version v0.1.7 (available: v0.4.1)
[INFO] [stderr]       Adding unicode-segmentation v0.1.2 (available: v0.1.3)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a2f853865b515a7aefeabd90051af5a0a4b8d36a9afbb4a14230f53b30a6fb60
[INFO] running `Command { std: "docker" "start" "-a" "a2f853865b515a7aefeabd90051af5a0a4b8d36a9afbb4a14230f53b30a6fb60", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a2f853865b515a7aefeabd90051af5a0a4b8d36a9afbb4a14230f53b30a6fb60", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a2f853865b515a7aefeabd90051af5a0a4b8d36a9afbb4a14230f53b30a6fb60", kill_on_drop: false }`
[INFO] [stdout] a2f853865b515a7aefeabd90051af5a0a4b8d36a9afbb4a14230f53b30a6fb60
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] fee8c6e9b6e45cac19270336f78cfc9f9acee99e8601385cf5a7d201c6331084
[INFO] running `Command { std: "docker" "start" "-a" "fee8c6e9b6e45cac19270336f78cfc9f9acee99e8601385cf5a7d201c6331084", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]    Compiling semver v0.1.20
[INFO] [stderr]    Compiling unicode-segmentation v0.1.2
[INFO] [stderr]    Compiling rustc_version v0.1.7
[INFO] [stderr]    Compiling strcursor v0.2.5 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unexpected `cfg` condition name: `has_string_into_boxed_string`
[INFO] [stdout]    --> src/grapheme.rs:505:7
[INFO] [stdout]     |
[INFO] [stdout] 505 | #[cfg(has_string_into_boxed_string)]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(has_string_into_boxed_string)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(has_string_into_boxed_string)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `has_string_into_boxed_string`
[INFO] [stdout]    --> src/grapheme.rs:514:11
[INFO] [stdout]     |
[INFO] [stdout] 514 | #[cfg(not(has_string_into_boxed_string))]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(has_string_into_boxed_string)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(has_string_into_boxed_string)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `has_string_into_boxed_string`
[INFO] [stdout]    --> src/grapheme.rs:628:7
[INFO] [stdout]     |
[INFO] [stdout] 628 | #[cfg(has_string_into_boxed_string)]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(has_string_into_boxed_string)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(has_string_into_boxed_string)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `has_string_into_boxed_string`
[INFO] [stdout]    --> src/grapheme.rs:635:7
[INFO] [stdout]     |
[INFO] [stdout] 635 | #[cfg(has_string_into_boxed_string)]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(has_string_into_boxed_string)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(has_string_into_boxed_string)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `has_string_into_boxed_string`
[INFO] [stdout]    --> src/grapheme.rs:642:7
[INFO] [stdout]     |
[INFO] [stdout] 642 | #[cfg(has_string_into_boxed_string)]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(has_string_into_boxed_string)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(has_string_into_boxed_string)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `has_string_into_boxed_string`
[INFO] [stdout]    --> src/grapheme.rs:649:11
[INFO] [stdout]     |
[INFO] [stdout] 649 | #[cfg(not(has_string_into_boxed_string))]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(has_string_into_boxed_string)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(has_string_into_boxed_string)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `has_string_into_boxed_string`
[INFO] [stdout]    --> src/grapheme.rs:656:11
[INFO] [stdout]     |
[INFO] [stdout] 656 | #[cfg(not(has_string_into_boxed_string))]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(has_string_into_boxed_string)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(has_string_into_boxed_string)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `ndebug`
[INFO] [stdout]    --> src/lib.rs:59:17
[INFO] [stdout]     |
[INFO] [stdout]  59 |         if cfg!(ndebug) {
[INFO] [stdout]     |                 ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/grapheme.rs:129:25
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 None => debug_unreachable!(),
[INFO] [stdout]     |                         -------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(ndebug)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(ndebug)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the macro `debug_unreachable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `has_string_into_boxed_string`
[INFO] [stdout]    --> src/grapheme.rs:528:11
[INFO] [stdout]     |
[INFO] [stdout] 528 |     #[cfg(has_string_into_boxed_string)]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(has_string_into_boxed_string)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(has_string_into_boxed_string)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `has_string_into_boxed_string`
[INFO] [stdout]    --> src/grapheme.rs:533:15
[INFO] [stdout]     |
[INFO] [stdout] 533 |     #[cfg(not(has_string_into_boxed_string))]
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(has_string_into_boxed_string)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(has_string_into_boxed_string)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `ndebug`
[INFO] [stdout]    --> src/lib.rs:59:17
[INFO] [stdout]     |
[INFO] [stdout]  59 |         if cfg!(ndebug) {
[INFO] [stdout]     |                 ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/grapheme.rs:616:25
[INFO] [stdout]     |
[INFO] [stdout] 616 |                         debug_unreachable!();
[INFO] [stdout]     |                         -------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(ndebug)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(ndebug)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the macro `debug_unreachable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `ndebug`
[INFO] [stdout]    --> src/lib.rs:59:17
[INFO] [stdout]     |
[INFO] [stdout]  59 |         if cfg!(ndebug) {
[INFO] [stdout]     |                 ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/grapheme.rs:619:25
[INFO] [stdout]     |
[INFO] [stdout] 619 |                 None => debug_unreachable!(),
[INFO] [stdout]     |                         -------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(ndebug)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(ndebug)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the macro `debug_unreachable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::slice_unchecked`: use `get_unchecked(begin..end)` instead
[INFO] [stdout]   --> src/grapheme.rs:86:49
[INFO] [stdout]    |
[INFO] [stdout] 86 |             Some((Gc::from_str_unchecked(gr), s.slice_unchecked(gr.len(), s.len())))
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::slice_unchecked`: use `get_unchecked(begin..end)` instead
[INFO] [stdout]    --> src/grapheme.rs:143:43
[INFO] [stdout]     |
[INFO] [stdout] 143 |             Gc::from_str_unchecked(self.0.slice_unchecked(base_len, self.0.len()))
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::slice_unchecked`: use `get_unchecked(begin..end)` instead
[INFO] [stdout]    --> src/grapheme.rs:156:20
[INFO] [stdout]     |
[INFO] [stdout] 156 |             self.0.slice_unchecked(base_len, self.0.len())
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::slice_unchecked`: use `get_unchecked(begin..end)` instead
[INFO] [stdout]    --> src/lib.rs:404:20
[INFO] [stdout]     |
[INFO] [stdout] 404 |             self.s.slice_unchecked(0, self.byte_pos())
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::slice_unchecked`: use `get_unchecked(begin..end)` instead
[INFO] [stdout]    --> src/lib.rs:414:20
[INFO] [stdout]     |
[INFO] [stdout] 414 |             self.s.slice_unchecked(self.byte_pos(), self.s.len())
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/grapheme.rs:163:18
[INFO] [stdout]     |
[INFO] [stdout] 163 |     pub fn chars(&self) -> ::std::str::Chars {
[INFO] [stdout]     |                  ^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 163 |     pub fn chars(&self) -> ::std::str::Chars<'_> {
[INFO] [stdout]     |                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/grapheme.rs:170:25
[INFO] [stdout]     |
[INFO] [stdout] 170 |     pub fn char_indices(&self) -> ::std::str::CharIndices {
[INFO] [stdout]     |                         ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 170 |     pub fn char_indices(&self) -> ::std::str::CharIndices<'_> {
[INFO] [stdout]     |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/grapheme.rs:177:18
[INFO] [stdout]     |
[INFO] [stdout] 177 |     pub fn bytes(&self) -> ::std::str::Bytes {
[INFO] [stdout]     |                  ^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 177 |     pub fn bytes(&self) -> ::std::str::Bytes<'_> {
[INFO] [stdout]     |                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/grapheme.rs:184:25
[INFO] [stdout]     |
[INFO] [stdout] 184 |     pub fn to_lowercase(&self) -> ToLowercase {
[INFO] [stdout]     |                         ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 184 |     pub fn to_lowercase(&self) -> ToLowercase<'_> {
[INFO] [stdout]     |                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/grapheme.rs:191:25
[INFO] [stdout]     |
[INFO] [stdout] 191 |     pub fn to_uppercase(&self) -> ToUppercase {
[INFO] [stdout]     |                         ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 191 |     pub fn to_uppercase(&self) -> ToUppercase<'_> {
[INFO] [stdout]     |                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `Knowledge` does not permit zero-initialization
[INFO] [stdout]   --> src/util.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |     nirvana(::std::mem::transmute(()))
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stdout]    |
[INFO] [stdout] note: enums with no inhabited variants have no valid value
[INFO] [stdout]   --> src/util.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     enum Knowledge {}
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.04s
[INFO] running `Command { std: "docker" "inspect" "fee8c6e9b6e45cac19270336f78cfc9f9acee99e8601385cf5a7d201c6331084", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fee8c6e9b6e45cac19270336f78cfc9f9acee99e8601385cf5a7d201c6331084", kill_on_drop: false }`
[INFO] [stdout] fee8c6e9b6e45cac19270336f78cfc9f9acee99e8601385cf5a7d201c6331084
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] be19a64f9458598325a449a4ca9bf89b294e12faa6c9aac30967a8a6233590ac
[INFO] running `Command { std: "docker" "start" "-a" "be19a64f9458598325a449a4ca9bf89b294e12faa6c9aac30967a8a6233590ac", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stdout] warning: unexpected `cfg` condition name: `has_string_into_boxed_string`
[INFO] [stdout]    --> src/grapheme.rs:505:7
[INFO] [stdout]     |
[INFO] [stdout] 505 | #[cfg(has_string_into_boxed_string)]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(has_string_into_boxed_string)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(has_string_into_boxed_string)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `has_string_into_boxed_string`
[INFO] [stdout]    --> src/grapheme.rs:514:11
[INFO] [stdout]     |
[INFO] [stdout] 514 | #[cfg(not(has_string_into_boxed_string))]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(has_string_into_boxed_string)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(has_string_into_boxed_string)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `has_string_into_boxed_string`
[INFO] [stdout]    --> src/grapheme.rs:628:7
[INFO] [stdout]     |
[INFO] [stdout] 628 | #[cfg(has_string_into_boxed_string)]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(has_string_into_boxed_string)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(has_string_into_boxed_string)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `has_string_into_boxed_string`
[INFO] [stdout]    --> src/grapheme.rs:635:7
[INFO] [stdout]     |
[INFO] [stdout] 635 | #[cfg(has_string_into_boxed_string)]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(has_string_into_boxed_string)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(has_string_into_boxed_string)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `has_string_into_boxed_string`
[INFO] [stdout]    --> src/grapheme.rs:642:7
[INFO] [stdout]     |
[INFO] [stdout] 642 | #[cfg(has_string_into_boxed_string)]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(has_string_into_boxed_string)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(has_string_into_boxed_string)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `has_string_into_boxed_string`
[INFO] [stdout]    --> src/grapheme.rs:649:11
[INFO] [stdout]     |
[INFO] [stdout] 649 | #[cfg(not(has_string_into_boxed_string))]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(has_string_into_boxed_string)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(has_string_into_boxed_string)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `has_string_into_boxed_string`
[INFO] [stdout]    --> src/grapheme.rs:656:11
[INFO] [stdout]     |
[INFO] [stdout] 656 | #[cfg(not(has_string_into_boxed_string))]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(has_string_into_boxed_string)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(has_string_into_boxed_string)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `ndebug`
[INFO] [stdout]    --> src/lib.rs:59:17
[INFO] [stdout]     |
[INFO] [stdout]  59 |         if cfg!(ndebug) {
[INFO] [stdout]     |                 ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/grapheme.rs:129:25
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 None => debug_unreachable!(),
[INFO] [stdout]     |                         -------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(ndebug)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(ndebug)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the macro `debug_unreachable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `has_string_into_boxed_string`
[INFO] [stdout]    --> src/grapheme.rs:528:11
[INFO] [stdout]     |
[INFO] [stdout] 528 |     #[cfg(has_string_into_boxed_string)]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(has_string_into_boxed_string)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(has_string_into_boxed_string)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `has_string_into_boxed_string`
[INFO] [stdout]    --> src/grapheme.rs:533:15
[INFO] [stdout]     |
[INFO] [stdout] 533 |     #[cfg(not(has_string_into_boxed_string))]
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(has_string_into_boxed_string)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(has_string_into_boxed_string)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `ndebug`
[INFO] [stdout]    --> src/lib.rs:59:17
[INFO] [stdout]     |
[INFO] [stdout]  59 |         if cfg!(ndebug) {
[INFO] [stdout]     |                 ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/grapheme.rs:616:25
[INFO] [stdout]     |
[INFO] [stdout] 616 |                         debug_unreachable!();
[INFO] [stdout]     |                         -------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(ndebug)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(ndebug)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the macro `debug_unreachable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `ndebug`
[INFO] [stdout]    --> src/lib.rs:59:17
[INFO] [stdout]     |
[INFO] [stdout]  59 |         if cfg!(ndebug) {
[INFO] [stdout]     |                 ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/grapheme.rs:619:25
[INFO] [stdout]     |
[INFO] [stdout] 619 |                 None => debug_unreachable!(),
[INFO] [stdout]     |                         -------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(ndebug)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(ndebug)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the macro `debug_unreachable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::slice_unchecked`: use `get_unchecked(begin..end)` instead
[INFO] [stdout]   --> src/grapheme.rs:86:49
[INFO] [stdout]    |
[INFO] [stdout] 86 |             Some((Gc::from_str_unchecked(gr), s.slice_unchecked(gr.len(), s.len())))
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::slice_unchecked`: use `get_unchecked(begin..end)` instead
[INFO] [stdout]    --> src/grapheme.rs:143:43
[INFO] [stdout]     |
[INFO] [stdout] 143 |             Gc::from_str_unchecked(self.0.slice_unchecked(base_len, self.0.len()))
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::slice_unchecked`: use `get_unchecked(begin..end)` instead
[INFO] [stdout]    --> src/grapheme.rs:156:20
[INFO] [stdout]     |
[INFO] [stdout] 156 |             self.0.slice_unchecked(base_len, self.0.len())
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::slice_unchecked`: use `get_unchecked(begin..end)` instead
[INFO] [stdout]    --> src/lib.rs:404:20
[INFO] [stdout]     |
[INFO] [stdout] 404 |             self.s.slice_unchecked(0, self.byte_pos())
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::slice_unchecked`: use `get_unchecked(begin..end)` instead
[INFO] [stdout]    --> src/lib.rs:414:20
[INFO] [stdout]     |
[INFO] [stdout] 414 |             self.s.slice_unchecked(self.byte_pos(), self.s.len())
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/grapheme.rs:163:18
[INFO] [stdout]     |
[INFO] [stdout] 163 |     pub fn chars(&self) -> ::std::str::Chars {
[INFO] [stdout]     |                  ^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 163 |     pub fn chars(&self) -> ::std::str::Chars<'_> {
[INFO] [stdout]     |                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling strcursor v0.2.5 (/opt/rustwide/workdir)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/grapheme.rs:170:25
[INFO] [stdout]     |
[INFO] [stdout] 170 |     pub fn char_indices(&self) -> ::std::str::CharIndices {
[INFO] [stdout]     |                         ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 170 |     pub fn char_indices(&self) -> ::std::str::CharIndices<'_> {
[INFO] [stdout]     |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/grapheme.rs:177:18
[INFO] [stdout]     |
[INFO] [stdout] 177 |     pub fn bytes(&self) -> ::std::str::Bytes {
[INFO] [stdout]     |                  ^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 177 |     pub fn bytes(&self) -> ::std::str::Bytes<'_> {
[INFO] [stdout]     |                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/grapheme.rs:184:25
[INFO] [stdout]     |
[INFO] [stdout] 184 |     pub fn to_lowercase(&self) -> ToLowercase {
[INFO] [stdout]     |                         ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 184 |     pub fn to_lowercase(&self) -> ToLowercase<'_> {
[INFO] [stdout]     |                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/grapheme.rs:191:25
[INFO] [stdout]     |
[INFO] [stdout] 191 |     pub fn to_uppercase(&self) -> ToUppercase {
[INFO] [stdout]     |                         ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 191 |     pub fn to_uppercase(&self) -> ToUppercase<'_> {
[INFO] [stdout]     |                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `Knowledge` does not permit zero-initialization
[INFO] [stdout]   --> src/util.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |     nirvana(::std::mem::transmute(()))
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stdout]    |
[INFO] [stdout] note: enums with no inhabited variants have no valid value
[INFO] [stdout]   --> src/util.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     enum Knowledge {}
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `has_string_into_boxed_string`
[INFO] [stdout]    --> src/grapheme.rs:505:7
[INFO] [stdout]     |
[INFO] [stdout] 505 | #[cfg(has_string_into_boxed_string)]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(has_string_into_boxed_string)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(has_string_into_boxed_string)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `has_string_into_boxed_string`
[INFO] [stdout]    --> src/grapheme.rs:514:11
[INFO] [stdout]     |
[INFO] [stdout] 514 | #[cfg(not(has_string_into_boxed_string))]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(has_string_into_boxed_string)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(has_string_into_boxed_string)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `has_string_into_boxed_string`
[INFO] [stdout]    --> src/grapheme.rs:628:7
[INFO] [stdout]     |
[INFO] [stdout] 628 | #[cfg(has_string_into_boxed_string)]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(has_string_into_boxed_string)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(has_string_into_boxed_string)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `has_string_into_boxed_string`
[INFO] [stdout]    --> src/grapheme.rs:635:7
[INFO] [stdout]     |
[INFO] [stdout] 635 | #[cfg(has_string_into_boxed_string)]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(has_string_into_boxed_string)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(has_string_into_boxed_string)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `has_string_into_boxed_string`
[INFO] [stdout]    --> src/grapheme.rs:642:7
[INFO] [stdout]     |
[INFO] [stdout] 642 | #[cfg(has_string_into_boxed_string)]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(has_string_into_boxed_string)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(has_string_into_boxed_string)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `has_string_into_boxed_string`
[INFO] [stdout]    --> src/grapheme.rs:649:11
[INFO] [stdout]     |
[INFO] [stdout] 649 | #[cfg(not(has_string_into_boxed_string))]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(has_string_into_boxed_string)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(has_string_into_boxed_string)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `has_string_into_boxed_string`
[INFO] [stdout]    --> src/grapheme.rs:656:11
[INFO] [stdout]     |
[INFO] [stdout] 656 | #[cfg(not(has_string_into_boxed_string))]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(has_string_into_boxed_string)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(has_string_into_boxed_string)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `ndebug`
[INFO] [stdout]    --> src/lib.rs:59:17
[INFO] [stdout]     |
[INFO] [stdout]  59 |         if cfg!(ndebug) {
[INFO] [stdout]     |                 ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/grapheme.rs:129:25
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 None => debug_unreachable!(),
[INFO] [stdout]     |                         -------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(ndebug)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(ndebug)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the macro `debug_unreachable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `has_string_into_boxed_string`
[INFO] [stdout]    --> src/grapheme.rs:528:11
[INFO] [stdout]     |
[INFO] [stdout] 528 |     #[cfg(has_string_into_boxed_string)]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(has_string_into_boxed_string)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(has_string_into_boxed_string)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `has_string_into_boxed_string`
[INFO] [stdout]    --> src/grapheme.rs:533:15
[INFO] [stdout]     |
[INFO] [stdout] 533 |     #[cfg(not(has_string_into_boxed_string))]
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(has_string_into_boxed_string)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(has_string_into_boxed_string)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `ndebug`
[INFO] [stdout]    --> src/lib.rs:59:17
[INFO] [stdout]     |
[INFO] [stdout]  59 |         if cfg!(ndebug) {
[INFO] [stdout]     |                 ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/grapheme.rs:616:25
[INFO] [stdout]     |
[INFO] [stdout] 616 |                         debug_unreachable!();
[INFO] [stdout]     |                         -------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(ndebug)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(ndebug)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the macro `debug_unreachable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `ndebug`
[INFO] [stdout]    --> src/lib.rs:59:17
[INFO] [stdout]     |
[INFO] [stdout]  59 |         if cfg!(ndebug) {
[INFO] [stdout]     |                 ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/grapheme.rs:619:25
[INFO] [stdout]     |
[INFO] [stdout] 619 |                 None => debug_unreachable!(),
[INFO] [stdout]     |                         -------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(ndebug)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(ndebug)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the macro `debug_unreachable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::slice_unchecked`: use `get_unchecked(begin..end)` instead
[INFO] [stdout]   --> src/grapheme.rs:86:49
[INFO] [stdout]    |
[INFO] [stdout] 86 |             Some((Gc::from_str_unchecked(gr), s.slice_unchecked(gr.len(), s.len())))
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::slice_unchecked`: use `get_unchecked(begin..end)` instead
[INFO] [stdout]    --> src/grapheme.rs:143:43
[INFO] [stdout]     |
[INFO] [stdout] 143 |             Gc::from_str_unchecked(self.0.slice_unchecked(base_len, self.0.len()))
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::slice_unchecked`: use `get_unchecked(begin..end)` instead
[INFO] [stdout]    --> src/grapheme.rs:156:20
[INFO] [stdout]     |
[INFO] [stdout] 156 |             self.0.slice_unchecked(base_len, self.0.len())
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::slice_unchecked`: use `get_unchecked(begin..end)` instead
[INFO] [stdout]    --> src/lib.rs:404:20
[INFO] [stdout]     |
[INFO] [stdout] 404 |             self.s.slice_unchecked(0, self.byte_pos())
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::slice_unchecked`: use `get_unchecked(begin..end)` instead
[INFO] [stdout]    --> src/lib.rs:414:20
[INFO] [stdout]     |
[INFO] [stdout] 414 |             self.s.slice_unchecked(self.byte_pos(), self.s.len())
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/grapheme.rs:163:18
[INFO] [stdout]     |
[INFO] [stdout] 163 |     pub fn chars(&self) -> ::std::str::Chars {
[INFO] [stdout]     |                  ^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 163 |     pub fn chars(&self) -> ::std::str::Chars<'_> {
[INFO] [stdout]     |                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/grapheme.rs:170:25
[INFO] [stdout]     |
[INFO] [stdout] 170 |     pub fn char_indices(&self) -> ::std::str::CharIndices {
[INFO] [stdout]     |                         ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 170 |     pub fn char_indices(&self) -> ::std::str::CharIndices<'_> {
[INFO] [stdout]     |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/grapheme.rs:177:18
[INFO] [stdout]     |
[INFO] [stdout] 177 |     pub fn bytes(&self) -> ::std::str::Bytes {
[INFO] [stdout]     |                  ^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 177 |     pub fn bytes(&self) -> ::std::str::Bytes<'_> {
[INFO] [stdout]     |                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/grapheme.rs:184:25
[INFO] [stdout]     |
[INFO] [stdout] 184 |     pub fn to_lowercase(&self) -> ToLowercase {
[INFO] [stdout]     |                         ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 184 |     pub fn to_lowercase(&self) -> ToLowercase<'_> {
[INFO] [stdout]     |                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/grapheme.rs:191:25
[INFO] [stdout]     |
[INFO] [stdout] 191 |     pub fn to_uppercase(&self) -> ToUppercase {
[INFO] [stdout]     |                         ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 191 |     pub fn to_uppercase(&self) -> ToUppercase<'_> {
[INFO] [stdout]     |                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `Knowledge` does not permit zero-initialization
[INFO] [stdout]   --> src/util.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |     nirvana(::std::mem::transmute(()))
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stdout]    |
[INFO] [stdout] note: enums with no inhabited variants have no valid value
[INFO] [stdout]   --> src/util.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     enum Knowledge {}
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.89s
[INFO] running `Command { std: "docker" "inspect" "be19a64f9458598325a449a4ca9bf89b294e12faa6c9aac30967a8a6233590ac", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "be19a64f9458598325a449a4ca9bf89b294e12faa6c9aac30967a8a6233590ac", kill_on_drop: false }`
[INFO] [stdout] be19a64f9458598325a449a4ca9bf89b294e12faa6c9aac30967a8a6233590ac
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 1042da1be7bba7fc6abccbd12bfd5685b5ee8b245ef854b64a1fa207ad94e644
[INFO] running `Command { std: "docker" "start" "-a" "1042da1be7bba7fc6abccbd12bfd5685b5ee8b245ef854b64a1fa207ad94e644", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: unexpected `cfg` condition name: `has_string_into_boxed_string`
[INFO] [stderr]    --> src/grapheme.rs:505:7
[INFO] [stderr]     |
[INFO] [stderr] 505 | #[cfg(has_string_into_boxed_string)]
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stderr]     = help: consider using a Cargo feature instead
[INFO] [stderr]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]              [lints.rust]
[INFO] [stderr]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(has_string_into_boxed_string)'] }
[INFO] [stderr]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(has_string_into_boxed_string)");` to the top of the `build.rs`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `has_string_into_boxed_string`
[INFO] [stderr]    --> src/grapheme.rs:514:11
[INFO] [stderr]     |
[INFO] [stderr] 514 | #[cfg(not(has_string_into_boxed_string))]
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a Cargo feature instead
[INFO] [stderr]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]              [lints.rust]
[INFO] [stderr]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(has_string_into_boxed_string)'] }
[INFO] [stderr]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(has_string_into_boxed_string)");` to the top of the `build.rs`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `has_string_into_boxed_string`
[INFO] [stderr]    --> src/grapheme.rs:628:7
[INFO] [stderr]     |
[INFO] [stderr] 628 | #[cfg(has_string_into_boxed_string)]
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a Cargo feature instead
[INFO] [stderr]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]              [lints.rust]
[INFO] [stderr]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(has_string_into_boxed_string)'] }
[INFO] [stderr]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(has_string_into_boxed_string)");` to the top of the `build.rs`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `has_string_into_boxed_string`
[INFO] [stderr]    --> src/grapheme.rs:635:7
[INFO] [stderr]     |
[INFO] [stderr] 635 | #[cfg(has_string_into_boxed_string)]
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a Cargo feature instead
[INFO] [stderr]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]              [lints.rust]
[INFO] [stderr]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(has_string_into_boxed_string)'] }
[INFO] [stderr]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(has_string_into_boxed_string)");` to the top of the `build.rs`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `has_string_into_boxed_string`
[INFO] [stderr]    --> src/grapheme.rs:642:7
[INFO] [stderr]     |
[INFO] [stderr] 642 | #[cfg(has_string_into_boxed_string)]
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a Cargo feature instead
[INFO] [stderr]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]              [lints.rust]
[INFO] [stderr]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(has_string_into_boxed_string)'] }
[INFO] [stderr]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(has_string_into_boxed_string)");` to the top of the `build.rs`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `has_string_into_boxed_string`
[INFO] [stderr]    --> src/grapheme.rs:649:11
[INFO] [stderr]     |
[INFO] [stderr] 649 | #[cfg(not(has_string_into_boxed_string))]
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a Cargo feature instead
[INFO] [stderr]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]              [lints.rust]
[INFO] [stderr]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(has_string_into_boxed_string)'] }
[INFO] [stderr]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(has_string_into_boxed_string)");` to the top of the `build.rs`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `has_string_into_boxed_string`
[INFO] [stderr]    --> src/grapheme.rs:656:11
[INFO] [stderr]     |
[INFO] [stderr] 656 | #[cfg(not(has_string_into_boxed_string))]
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a Cargo feature instead
[INFO] [stderr]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]              [lints.rust]
[INFO] [stderr]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(has_string_into_boxed_string)'] }
[INFO] [stderr]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(has_string_into_boxed_string)");` to the top of the `build.rs`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `ndebug`
[INFO] [stderr]    --> src/lib.rs:59:17
[INFO] [stderr]     |
[INFO] [stderr]  59 |         if cfg!(ndebug) {
[INFO] [stderr]     |                 ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/grapheme.rs:129:25
[INFO] [stderr]     |
[INFO] [stderr] 129 |                 None => debug_unreachable!(),
[INFO] [stderr]     |                         -------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a Cargo feature instead
[INFO] [stderr]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]              [lints.rust]
[INFO] [stderr]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(ndebug)'] }
[INFO] [stderr]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(ndebug)");` to the top of the `build.rs`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]     = note: this warning originates in the macro `debug_unreachable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `has_string_into_boxed_string`
[INFO] [stderr]    --> src/grapheme.rs:528:11
[INFO] [stderr]     |
[INFO] [stderr] 528 |     #[cfg(has_string_into_boxed_string)]
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a Cargo feature instead
[INFO] [stderr]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]              [lints.rust]
[INFO] [stderr]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(has_string_into_boxed_string)'] }
[INFO] [stderr]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(has_string_into_boxed_string)");` to the top of the `build.rs`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `has_string_into_boxed_string`
[INFO] [stderr]    --> src/grapheme.rs:533:15
[INFO] [stderr]     |
[INFO] [stderr] 533 |     #[cfg(not(has_string_into_boxed_string))]
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a Cargo feature instead
[INFO] [stderr]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]              [lints.rust]
[INFO] [stderr]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(has_string_into_boxed_string)'] }
[INFO] [stderr]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(has_string_into_boxed_string)");` to the top of the `build.rs`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `ndebug`
[INFO] [stderr]    --> src/lib.rs:59:17
[INFO] [stderr]     |
[INFO] [stderr]  59 |         if cfg!(ndebug) {
[INFO] [stderr]     |                 ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/grapheme.rs:616:25
[INFO] [stdout] 
[INFO] [stderr]     |
[INFO] [stdout] running 32 tests
[INFO] [stderr] 616 |                         debug_unreachable!();
[INFO] [stderr]     |                         -------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a Cargo feature instead
[INFO] [stderr]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]              [lints.rust]
[INFO] [stderr]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(ndebug)'] }
[INFO] [stderr]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(ndebug)");` to the top of the `build.rs`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]     = note: this warning originates in the macro `debug_unreachable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `ndebug`
[INFO] [stderr]    --> src/lib.rs:59:17
[INFO] [stderr]     |
[INFO] [stderr]  59 |         if cfg!(ndebug) {
[INFO] [stderr]     |                 ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/grapheme.rs:619:25
[INFO] [stderr]     |
[INFO] [stderr] 619 |                 None => debug_unreachable!(),
[INFO] [stderr]     |                         -------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a Cargo feature instead
[INFO] [stderr]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]              [lints.rust]
[INFO] [stderr]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(ndebug)'] }
[INFO] [stderr]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(ndebug)");` to the top of the `build.rs`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]     = note: this warning originates in the macro `debug_unreachable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `core::str::<impl str>::slice_unchecked`: use `get_unchecked(begin..end)` instead
[INFO] [stderr]   --> src/grapheme.rs:86:49
[INFO] [stderr]    |
[INFO] [stdout] test grapheme::gc_tests::test_from_str ... ok
[INFO] [stderr] 86 |             Some((Gc::from_str_unchecked(gr), s.slice_unchecked(gr.len(), s.len())))
[INFO] [stdout] test grapheme::gc_tests::test_split_from ... ok
[INFO] [stderr]    |                                                 ^^^^^^^^^^^^^^^
[INFO] [stdout] test test_at_next_and_after ... ok
[INFO] [stderr]    |
[INFO] [stdout] test test_at_next_cp ... ok
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] test test_at_prev_and_before ... ok
[INFO] [stderr] 
[INFO] [stdout] test test_at_prev_cp ... ok
[INFO] [stderr] warning: use of deprecated method `core::str::<impl str>::slice_unchecked`: use `get_unchecked(begin..end)` instead
[INFO] [stdout] test test_char_before_and_after ... ok
[INFO] [stderr]    --> src/grapheme.rs:143:43
[INFO] [stdout] test test_new_at_end ... ok
[INFO] [stderr]     |
[INFO] [stdout] test test_new_at_left_of_byte_pos ... ok
[INFO] [stderr] 143 |             Gc::from_str_unchecked(self.0.slice_unchecked(base_len, self.0.len()))
[INFO] [stdout] test test_next ... ok
[INFO] [stderr]     |                                           ^^^^^^^^^^^^^^^
[INFO] [stdout] test test_seek_next ... ok
[INFO] [stderr] 
[INFO] [stdout] test test_new_at_right_of_byte_pos ... ok
[INFO] [stderr] warning: use of deprecated method `core::str::<impl str>::slice_unchecked`: use `get_unchecked(begin..end)` instead
[INFO] [stdout] test test_seek_next_cp ... ok
[INFO] [stderr]    --> src/grapheme.rs:156:20
[INFO] [stdout] test test_new_at_start ... ok
[INFO] [stderr]     |
[INFO] [stderr] 156 |             self.0.slice_unchecked(base_len, self.0.len())
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `core::str::<impl str>::slice_unchecked`: use `get_unchecked(begin..end)` instead
[INFO] [stderr]    --> src/lib.rs:404:20
[INFO] [stderr]     |
[INFO] [stderr] 404 |             self.s.slice_unchecked(0, self.byte_pos())
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `core::str::<impl str>::slice_unchecked`: use `get_unchecked(begin..end)` instead
[INFO] [stderr]    --> src/lib.rs:414:20
[INFO] [stderr]     |
[INFO] [stderr] 414 |             self.s.slice_unchecked(self.byte_pos(), self.s.len())
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/grapheme.rs:163:18
[INFO] [stderr]     |
[INFO] [stderr] 163 |     pub fn chars(&self) -> ::std::str::Chars {
[INFO] [stderr]     |                  ^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                  |
[INFO] [stderr]     |                  the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 163 |     pub fn chars(&self) -> ::std::str::Chars<'_> {
[INFO] [stderr]     |                                             ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/grapheme.rs:170:25
[INFO] [stderr]     |
[INFO] [stderr] 170 |     pub fn char_indices(&self) -> ::std::str::CharIndices {
[INFO] [stderr]     |                         ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stdout] test grapheme::gc_tests::test_mark_str ... ok
[INFO] [stderr]     |
[INFO] [stdout] test test_seek_prev ... ok
[INFO] [stderr] 170 |     pub fn char_indices(&self) -> ::std::str::CharIndices<'_> {
[INFO] [stderr]     |                                                          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/grapheme.rs:177:18
[INFO] [stderr]     |
[INFO] [stderr] 177 |     pub fn bytes(&self) -> ::std::str::Bytes {
[INFO] [stderr]     |                  ^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                  |
[INFO] [stderr]     |                  the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 177 |     pub fn bytes(&self) -> ::std::str::Bytes<'_> {
[INFO] [stderr]     |                                             ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/grapheme.rs:184:25
[INFO] [stderr]     |
[INFO] [stderr] 184 |     pub fn to_lowercase(&self) -> ToLowercase {
[INFO] [stderr]     |                         ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 184 |     pub fn to_lowercase(&self) -> ToLowercase<'_> {
[INFO] [stderr]     |                                              ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/grapheme.rs:191:25
[INFO] [stderr]     |
[INFO] [stderr] 191 |     pub fn to_uppercase(&self) -> ToUppercase {
[INFO] [stderr]     |                         ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 191 |     pub fn to_uppercase(&self) -> ToUppercase<'_> {
[INFO] [stderr]     |                                              ++++
[INFO] [stderr] 
[INFO] [stderr] warning: the type `Knowledge` does not permit zero-initialization
[INFO] [stderr]   --> src/util.rs:21:13
[INFO] [stderr]    |
[INFO] [stderr] 21 |     nirvana(::std::mem::transmute(()))
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stderr]    |
[INFO] [stderr] note: enums with no inhabited variants have no valid value
[INFO] [stderr]   --> src/util.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 |     enum Knowledge {}
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr]    = note: `#[warn(invalid_value)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `strcursor` (lib) generated 23 warnings (run `cargo fix --lib -p strcursor` to apply 5 suggestions)
[INFO] [stderr] warning: `strcursor` (lib test) generated 23 warnings (23 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.06s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/strcursor-7af5fd5f1c9d1fe7)
[INFO] [stdout] test test_prev_cp ... ok
[INFO] [stdout] test test_seek_prev_cp ... ok
[INFO] [stdout] test test_str_eq_literal ... ok
[INFO] [stdout] test test_slice_between ... ok
[INFO] [stdout] test test_new_at_cp_right_of_byte_pos ... ok
[INFO] [stdout] test test_seek_utf8_cp_start_right ... ok
[INFO] [stdout] test test_next_cp ... ok
[INFO] [stdout] test test_seek_next_cp_panic - should panic ... ok
[INFO] [stdout] test test_seek_next_panic - should panic ... ok
[INFO] [stdout] test test_seek_prev_cp_panic - should panic ... ok
[INFO] [stdout] test test_new_at_cp_left_of_byte_pos ... ok
[INFO] [stdout] test test_prev ... ok
[INFO] [stdout] test grapheme::gc_tests::test_base_char ... ok
[INFO] [stdout] test test_seek_prev_panic - should panic ... ok
[INFO] [stdout] test grapheme::gc_tests::test_has_marks ... ok
[INFO] [stdout] test test_seek_utf8_cp_start_left ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 32 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests strcursor
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "1042da1be7bba7fc6abccbd12bfd5685b5ee8b245ef854b64a1fa207ad94e644", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1042da1be7bba7fc6abccbd12bfd5685b5ee8b245ef854b64a1fa207ad94e644", kill_on_drop: false }`
[INFO] [stdout] 1042da1be7bba7fc6abccbd12bfd5685b5ee8b245ef854b64a1fa207ad94e644
